TSKaigi Kansai 2024
from TSKaigi
2024/11/16
TSKaigi Kansai 2024
みやこめっせ
https://www.miyakomesse.jp/
TSKaigi Kansai 2024 プロポーザル採択者発表 - TSKaigi 公式ブログ
採択されたぜ
出したプロポーザル
/mrsekut-private/TSKaigiのproposal案: form周り
/mrsekut-merry-firends/TSKaigi Kansai 2024の発表内容を考える
TSKaigi Kansai 2024 の開催のお知らせ - TSKaigi 公式ブログ
1ブース100人いないぐらいかな?mrsekut.icon
型チェック 速度改善 奮闘記⏳
@tocomi0112
https://kansai.tskaigi.org/talks/tocomi
テックタッチ株式会社
改善割合
redux toolkit関連の型推論が8割ぐらい
Extractによるinstantiation
不要なスキーマ定義
Naming Complex Typesというアプローチがあるらしい
Extractをoveloadに替えると推論量が減った
ただ単に型を定義したいだけなのにzod schemaを定義しているところがあった
schema作ってinferしてるだけで、validationにつかってないやつ
ありそうmrsekut.icon
types.json
trace.jsonの解析
about://tracing
Perfetto UI
Speedscope
おすすめらしい
https://github.com/jlfwong/speedscope
ボトムアップを突き止めていく
デモの満足度高いmrsekut.icon
よしこさんの聞きそびれた
TypeScript Graph
公開してるのかな?
TypeScript Graph気になる
公開されてるのかな?
途中で聞き始めたのでわからん
Tanstack Routerに移行するのかい、しないのかい、どっちなんだい!
https://speakerdeck.com/kaminashi/are-you-going-to-migrate-to-tanstack-router-or-not-which-one-is-it
この辺のTL聞けてない
エムスリー
https://kansai.tskaigi.org/talks/yuta-ike
@Selria1
https://www.docswell.com/s/yuta-ike/KJ486V-tskaigi-kansai-2024
グラフ構造のシナリオ管理
シナリオを構築する部分
アウトプットはyml
それを既存のOSSツールに渡せる
シナリオテスト
Flux
StoreにJotai
1つのAtomが1つのEntity的な
3層
素entity、join済み、Componentが使いやすい形
ActionにEffect
DIにつかう
Effectの例
GetResolvedAction, GetDefaultName, etc.
ユーザのactionごとにnodeを作る
actionの中でatomとやり取りする
その時にDIの仕組みを使う
全体的に図がわかりやすいmrsekut.icon
めっちゃおもろいmrsekut.icon*2
テストユーザ募集中
sakuさん
https://kansai.tskaigi.org/talks/sakupi01
https://x.com/sakupi01
Companion Object Pattern
値と型と同じ名前にするやつ
面白そうだけど早すぎてわからなかった、後で見返そうmrsekut.icon
https://sakupi01.github.io/slides/ja/2024_tskaigi_kansai/
TypeScriptでライブラリとの依存を限定的にする方法
https://kansai.tskaigi.org/talks/noko_noko619
アップデート時にデフォルト値変わるの困るよね..mrsekut.icon
元のバージョンのデフォルト値がわからなくなることがあった
subpath importsで始めるモック生活
Subpath Imports
https://kansai.tskaigi.org/talks/10tera
tsでもViteでも簡単に使える
気になるmrsekut.icon
後でちゃんと調べよう
interfaceを活用して安全性と拡張性を兼ね備えた型を作る
https://kansai.tskaigi.org/talks/all-user
ライブラリに直接全部unionを書くと、依存するものに全部影響してしまう
intefaceで提供することでopenに拡張できる
MUIのthemingがそうなっているらしい
モジュール毎に個別に定義できる
vscodeとtscの型チェックの結果がズレることがあるらしい
構造的型付けと serialize 境界
恩田さん
https://kansai.tskaigi.org/talks/tak-onda
DHTML初めて聞いたmrsekut.icon
URL文字列にエンコードした時に、イラン情報が入ってきてることがある
subtypeがokなら入っても怒られないので
repository関数で、
引数をzod schemaにして、parseする
zodのpassthrough
https://zenn.dev/terrierscript/books/2023-01-typed-zod/viewer/3-5-passthrough
varibotのobjectも同じ
F# object expression
F#でも構造的部分型できる
Scalaのreflection
そういえば、refectionってあんまり知らんmrsekut.icon
構造的部分型知ってますか?の質問に挙手してる人、半分ぐらいだった
そんな感じなのかとびっくりしたmrsekut.icon
全然関係ないけどapi呼び出し層てなんで「repository」っていうんだっけ
テストコード品質を高めるためにMutation Testingライブラリ・Strykerを実戦導入してみた
https://kansai.tskaigi.org/talks/ysknsid25
@ysknsid25
Mutation Testingの話
test coverage信仰に対するアンチテーゼ的な
ただテストがありゃ良いのではなく、意味のあるテストがある、とわかる
Googleもやっとるらしい
https://research.google/pubs/state-of-mutation-testing-at-google/?utm_source=pocket_saves
Stryker
そのまま使うと重いらしい
160分!?
デフォルトの変異の対象と変異の種類が多すぎるから
incrementalオプションがある
他のスライドも見ておく
tsのproposal
jsだけじゃだめ
TAPL.tsのdiscord入ろう
主催の二人と会ったmrsekut.icon
https://taplts.connpass.com/
トグルホールディングス株式会社
R&D、SaaS
ベースマキナ
4人、
抽象